package com.ict.web.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ict.common.annotation.Excel;
import com.ict.common.core.domain.BaseEntity;
import com.ict.web.dto.InsertPerformanceRuleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 绩效指标对象 yzq_performance_indicators
 *
 * @author ruoyi
 * @date 2022-02-15
 */
@ToString
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName("yzq_performance_indicators")
public class PerformanceIndicators implements Serializable
{
    private static final long serialVersionUID = 1L;

    public static final String DELETE_STATUS_NORMAL = "0";
    public static final String DELETE_STATUS_UNNORMAL = "1";

    @ApiModelProperty(value = "指标id")
    @TableId(type = IdType.ASSIGN_ID)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long indicatorsId;

    @ApiModelProperty(value = "绩效id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long perId;

    @ApiModelProperty(value = "指标名称")
    private String indicatorsName;

    @ApiModelProperty(value = "指标描述")
    private String indicatorsDesc;

    @ApiModelProperty(value = "指标权重{保留两位小数}")
    private Double indicatorsWeight;

    @ApiModelProperty(value = "逻辑删除：{0:正常;1:删除}")
    private String delFlag;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 指标对应的规则
     */
    @TableField(exist = false)
    private List<PerformanceRule> performanceRuleList;

    /**
     * 指标对应的规则
     */
    @TableField(exist = false)
    private List<InsertPerformanceRuleDto> performanceRules;
}
